#include<stdio.h>
#include<unistd.h>
#include<string.h>

//打开文件的方式
int main()
{
    //FILE * fp = fopen("myfile", "w");
    //if(fp == NULL)
    //{
    //    perror("open error!\n");
    //    return 1;
    //}
    //char* buffer[128];
    //fread(buffer , sizeof(buffer), 1, fp);
    //printf("%s\n", buffer);
    FILE * fp = fopen("myfile", "a");
    if(fp == NULL)
    {
        perror("open error!\n");
        return 1;
    }
    const char* msg = "HELLO FILE!\n";
    fwrite(msg , strlen(msg) , 1 , fp); //向文件中写入
    return 0;
}
//输出信息到显示器
//int main()
//{
//    const char* msg = "hello file!\n";
//    printf("%s:%s\n", "printf", msg);
//    fprintf(stdout, "%s:%s\n", "fprintf", msg);
//    char buffer[128];
//    snprintf(buffer, sizeof(buffer), "%s:%s\n", "fwrite", msg);
//    fwrite(buffer, strlen(buffer), 1, stdout);
//    
//    return 0;
//}
//基于文件读操作实现一个简单的cat
//int main(int argc , char* argv[])
//{
//    if(argc != 2)
//    {
//        printf("argc error!\n");
//        return 1;
//    }
//    FILE * fp = fopen(argv[1] , "r");
//    if(fp == NULL)
//    {
//        perror("open failed\n");
//        return 2;
//    }
//    const char* msg = "hello linux !:";//用来计算每次读取的字节数
//    while(1)
//    {
//        char* buffer[1024];
//        size_t s = fread(buffer , strlen(msg)+2 , 1 , fp);//写入文件时有一个数字和一个'\n'
//        if(s > 0)
//        {
//            printf("%s" , buffer);
//        }
//        if(feof(fp)) 
//        {
//            break;
//        }
//    }
//    return 0;
//}
//
//读文件代码
//int main()
//{
//    FILE * fp = fopen("myfile" , "r");
//    if(fp == NULL)
//    {
//        perror("open failed\n");
//        return 1;
//    }
//    const char* msg = "hello linux !:";//用来计算每次读取的字节数
//    while(1)
//    {
//        char* buffer[1024];
//        size_t s = fread(buffer , strlen(msg)+2 , 1 , fp);//写入文件时有一个数字和一个'\n'
//        if(s > 0)
//        {
//            printf("%s" , buffer);
//        }
//        if(feof(fp)) 
//        {
//            break;
//        }
//    }
//    return 0;
//}
//写文件代码
//int main()
//{
//    FILE * fp = fopen("myfile", "w");
//    if(fp == NULL)
//    {
//        perror("open failed!\n");
//        return 1;
//    }
//    const char* msg = "hello linux !:";
//    int cnt = 5;
//    while(cnt)
//    {
//        char buffer[1024];
//        snprintf(buffer, sizeof(buffer), "%s%d\n" , msg , cnt--);
//        fwrite(buffer , strlen(buffer) , 1 , fp);
//    }
//    fclose(fp);
//    return 0;
//}
//打开文件代码
//int main()
//{
//    FILE * fp = fopen("myfile" , "w");
//    if(fp == NULL)
//    {
//        perror("open failed!\n");
//        return 1;
//    }
//    printf("pid: %d\n", getpid());
//    while(1)
//    {
//        printf("open secceed!\n");
//        sleep(1);
//        
//    }
//    fclose(fp);
//    return 0;
//}
